import Vue from 'vue'
import Vuex from 'vuex'
import axios from 'axios'

Vue.use(Vuex)

export default new Vuex.Store({
  state: { // 数据仓库
    token: ''
  },
  // 同步提交代码区域， 
  // 不管是同步代码还是异步代码，
  // 最终都要提交给mutation
  // 提交mutation的方法是什么？commit
  mutations: {
    ['UPDATE_TOKEN'](state, token) {
      console.log(token, 'token')
      state.token = token
    }
  },
  actions: { // 异步代码提交区域 
    async updateToken({ commit }, token) {
      let data = await axios.post('/api/login')
      console.log(data, 'data')
      commit('UPDATE_TOKEN', data.data.token)
    }
  },
  getters: { // 计算属性

  },
  modules: { // 模块化

  }
})
